﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Demos.DesignPatterns._05_建造者模式.Services
{
    /// <summary>
    /// 订单构建器接口
    /// </summary>
    public interface IOrderBuilder
    {
        IOrderBuilder SetOrderInfo(string orderId, DateTime createTime, string status);
        IOrderBuilder SetCustomer(string customerId, string name, string email);
        IOrderBuilder AddItem(string productId, string name, decimal price, int quantity);
        IOrderBuilder SetShipping(string method, string address, string receiver, string phone);
        IOrderBuilder SetPayment(string method, decimal amount, string transactionId);
        IOrderBuilder SetDiscount(string description, decimal amount);
        IOrderBuilder SetInvoice(string type, string title, string taxNumber);
        OrderInfo Build();
    }
}
